# 在Python中，我们可以通过计算多项式的根来验证代数基本定理。
# 对于一个n次多项式，我们可以使用numpy库中的np.roots()函数来找到它的所有复数根。
# 以下是一个简单的示例：
import numpy as np


# 定义一个n次多项式系数列表，最高次项系数位于首位
def polynomial_roots(coeffs):
    # coeffs应为一个包含n+1个元素的列表，表示降冪排列的多项式系数
    degree = len(coeffs) - 1  # 多项式的次数
    roots = np.roots(coeffs)

    # 确保得到的根的数量不超过多项式的次数
    assert len(roots) <= degree, f"错误：{degree}次多项式至多有{degree}个根，但找到{len(roots)}个根！"

    return roots


# 示例：计算四次多项式x^4 + 3x^3 - 2x^2 + x + 1的所有根
coeffs_example = [1, 3, -2, 1, 1]
print(polynomial_roots(coeffs_example))

# 输出将是该多项式的全部复数根（可能包括重根）
